1. Field of the Invention
This invention relates to managing addresses of data storage media and more particularly relates to managing physical addresses of data storage media within a data storage library.
2. Description of the Related Art
Automated data storage libraries are known for providing cost effective storage and retrieval of large quantities of data. The data in automated data storage libraries is stored on data storage media that are, in turn, stored on storage shelves or the like inside the library in a fashion that renders the media, and its resident data, accessible for physical retrieval. Such media is commonly termed “removable media.” Data storage media may comprise any type of media on which data may be stored and which may serve as removable media, including but not limited to magnetic media (such as magnetic tape or disks), optical media (such as optical tape or disks), electronic media (such as PROM, EEPROM, flash PROM, Compactflash™, Smartmedia™, Memory Stick™, etc.), or other suitable media.
Typically, the data stored in automated data storage libraries is resident on data storage media that is contained within a cartridge and referred to as a data storage media cartridge. An example of a data storage media cartridge that is widely employed in automated data storage libraries for mass data storage is a magnetic tape cartridge.
In addition to data storage media, automated data storage libraries typically contain data storage drives that store data to, and/or retrieve data from, the data storage media. The transport of data storage media between data storage shelves and data storage drives is typically accomplished by one or more robot accessors (hereinafter termed “accessors”). Such accessors have grippers for physically retrieving the selected data storage media from the storage shelves within the automated data storage library and transport such media to the data storage drives by moving in the X and Y directions.
Libraries typically use internal addressing to identify cartridge slot locations within the library. We shall refer to library internal addressing as a library address or a physical address. Libraries typically present cartridge slot locations to host applications by way of an address, commonly referred to as an element address. We shall refer to the hosts view of library reported addressing as a host address or a logical address. In some designs, the library address and the host address for any particular cartridge location is one in the same. For example, all physical storage shelves in the library may be assigned an address beginning with a starting address and incrementing by one for each sequential slot in the library. This address information is presented to host applications that in turn send commands to the library to move cartridges based on the address information. In some designs, the library address and the host address for any particular cartridge location is different. For example, the library may be partitioned into several logical libraries. Each logical library may be attached to different host computers such that the host computer associated with one logical library has no awareness of any other logical libraries and associated cartridges. In this example, cartridges associated with one logical library may have the same logical address as cartridges associated with another logical library even though the library maintains unique physical addresses for each cartridge in the library. Virtualization of the storage slots in a library is another example of why the library address and the host address may not be the same address, for any particular cartridge location in the library. The library keeps a map of host (logical) storage addresses to actual library (physical) addresses when performing move operations and when reporting cartridge locations to a host application. The mapping of the logical address to the actual physical address must be maintained in a consistent fashion by the library so as to ensure proper movement of the intended cartridge. As described above, a storage slot may be mapped between a host (logical) address and a library (physical) address. In addition, a host address may only be mapped to an occupied library address wherein library virtualization is only concerned with where actual cartridges are located and any empty slot is arbitrarily chosen by the library for placing media. Herein, mapping addresses may refer to a mapping of storage slots that contain media, storage slots that do not contain media and combinations thereof.
Commands from multiple hosts to move cartridges can be on the library work queue awaiting execution as the library handles the incoming commands. As one command completes, a subsequent command from the queue can be dispatched. All queued commands and any additional incoming commands are built and performed based on the logical to physical mapping. In libraries, such as the IBM 3584 Automated Tape Library, it is possible to add or remove storage to or from a column in a manner that would affect the previous logical to physical mapping of the storage addresses. This may cause the logical to physical mapping of the library to no longer be consistent with the new physical layout of the library. As a result, any attempt to execute cartridge movement commands could have unexpected results. The cause of this inconsistency between the queued commands and the new physical layout is that current storage libraries assign physical element addresses based on the actual physical slots in the library. Additionally, physical addresses within the data storage library are unable to remain consistent if components comprising the library, commonly known as frames, are rearranged, inserted, or removed from the storage library.
Further, data storage libraries are often dynamically partitioned into logical libraries, and each logical library is associated with a different host application. The host application may be software running on a host machine so that each host application has access to the storage and the drives of their corresponding logical library. Due to security concerns, media, such as cartridges, are not shared between different host applications. The logical/physical mapping may be abstracted further to include virtualization of the storage slots. Before the virtualization addressing occurs, cartridges may be associated with a particular host based on the physical location of the cartridge in the library. After the virtualization addressing process has occurred, such an association between cartridge and host is no longer based on physical locations of cartridges in a library. Instead, the association may be based on an identifier inherent to the cartridge.
Current static partitioned libraries store a table in non-volatile storage that provides the physical addresses associated with a particular host. However, a specific element for statically partitioned libraries will likely not be associated with the same physical address when a library converts to dynamic partitioning and employs the virtualization addressing method. Once configuration to dynamic partitioning is complete, such locations in the table will no longer correlate to the physical address upon which the table was built.
From the foregoing discussion, it should be apparent that a need exists for an apparatus, system, and method that manages physical addresses of data storage media before and after virtualization addressing methods have been applied. Beneficially, such an apparatus, system, and method would enable multiple hosts to access data storage media within the library after virtualization addressing has occurred.